//package invest.strategy.impl;
//
//import invest.data.DataEnum;
//import invest.data.DataFactory;
//import invest.pojo.ToSendRecord;
//import invest.pojo.datapojo.ConvertibleBond;
//import invest.pojo.datapojo.Stock;
//import invest.pojo.datapojo.StockMinuteToday;
//import invest.strategy.Variable;
//import org.springframework.stereotype.Component;
//
//import java.io.IOException;
//import java.text.ParseException;
//import java.time.LocalTime;
//import java.util.HashMap;
//import java.util.List;
////编写参照例子
////股价快速上涨
//@Component
//public class RapidRise extends AbstractStrategy {
//
//    DataFactory dataFactory = new DataFactory();
//
//
//
//    //邮件内容，必填
//    @Override
//    protected void setMail() {
//        mail.setSubject("股最低跌幅百分之3，离最低上涨了超过百分之6");
//        mail.setContent("股快速上涨，快速进行买入");
//    }
//
//    @Override
//    public boolean analyzeStrategy() throws ParseException, IOException {
//        LocalTime currentTime = LocalTime.now();  // 获取当前时间
//        LocalTime targetTime = LocalTime.of(9, 30, 0);  // 上午九点半
//        if (currentTime.isBefore(targetTime)) {
//            return false;
//        }
//        Boolean flag=false;
//        List<Stock> stockList = (List<Stock>) dataFactory.getData(DataEnum.STOCK_REALTIME);
//        for (Stock s : stockList) {
//            try {
//                String symbol = s.getSymbol();
//                if (Variable.todayMinPrice == null) {
//                    Variable.todayMinPrice = new HashMap<>();
//                }
//                if (!Variable.todayMinPrice.containsKey(symbol)) {
//                    Variable.todayMinPrice.put(symbol, s);
//                }
//                if (Variable.todayMinPrice.get(symbol).getCurrent() > s.getCurrent()) {
//                    Variable.todayMinPrice.put(symbol, s);
//                }
//
//                Stock minPriceStock = Variable.todayMinPrice.get(symbol);
//                Double todayMaxRise = (s.getCurrent() - minPriceStock.getCurrent()) / minPriceStock.getCurrent();
//                if (minPriceStock.getPercent() < -3 && todayMaxRise > 0.06) {
//                    ToSendRecord record = new ToSendRecord();
//                    record.setName(s.getName());
//                    record.setMessage("股日内幅度：" + todayMaxRise);
//                    this.setToSendTarget(record);
//                    flag = true;
//                }
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//
//        }
//        return flag;
//    }
//}
